-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix AutoAWQQuantizer GptqQuantizer supported ep and device #1571
Conversation
olive/olive_config.json
Outdated
@@ -228,15 +228,15 @@ | |||
}, | |||
"AutoAWQQuantizer": { | |||
"module_path": "olive.passes.pytorch.autoawq.AutoAWQQuantizer", | |||
"supported_providers": [ "CPUExecutionProvider" ], | |||
"supported_accelerators": [ "cpu" ], | |||
"supported_providers": [ "CUDAExecutionProvider" ], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we should make it *
for both providers and ep. the quantization happens on pytorch model and the exported model is compatible with all eps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
their only requirement is that they require gpus to run. but that is a host machine requirement, not target provider or ep.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this supported_providers
mean the output model supports which ep? Same concept for supported_accelerators
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes. it's used by the auto-opt to filter out the passes based on the intended target ep
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. I can see some other passes like QNNConversion
is also in this list. But QNN model doesn't not have any ep concept. If this is only used by auto-opt, and auto-opt is targeting onnx model, should those unrelated pass whose output model is not onnx model be removed here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
QNN model does not have EP concept but you don't want to run QNNConversion pass if the user did not select QNN_EP.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this
supported_providers
mean the output model supports which ep? Same concept forsupported_accelerators
?
Yes, these fields dictate the target provider and accelerator for running the output model. We do not have a parallel support for host machine and depend on Pass.validate_config to make that decision.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. I can see some other passes like
QNNConversion
is also in this list. But QNN model doesn't not have any ep concept. If this is only used by auto-opt, and auto-opt is targeting onnx model, should those unrelated pass whose output model is not onnx model be removed here?
@shaahji what about this? i can see all passes needs to be registered here anyway?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, all passes needs to be registered in this config since this is the only way to create a pass by importing modules.
4f8c901
to
ef44bf0
Compare
Describe your changes
Fix AutoAWQQuantizer GptqQuantizer supported ep and device.
Checklist before requesting a review
lintrunner -a
(Optional) Issue link